#include "LittleC.h"
#include "Lex.h"
#include "Parser.h"
#include "Interpreter.h"

CCompilier::CCompilier()
{
  m_Lexer.reset(new CLexer);
  m_VM.reset(new CInterpreter);
  m_Parser.reset(new CParser(m_Lexer, m_VM));
}

void CCompilier::ScanTokens(char* file)
{
  m_Lexer->LoadFile(file);
}

void CCompilier::Parse()
{
  m_Parser->Parse();
}

void CCompilier::Run()
{
  m_VM->Run();
}
